Android 10i(2020) SP2-10i(2021) 接口变更列表

历史版本接口变更

本文档对相邻两个版本之间可能影响兼容性的一些接口调整及其他重要影响进行说明。接口调整的原则是为了用户开发出更高效,功能更强大完善的应用程序。

SuperMap iMobile 10i(2020) SP2 for Android SuperMap iMobile 10i(2021) for Android 接口变化列表

变更ID 变更内容说明
所属模块
1.
DynamicText类接口调整如下:

接口新增

  • setAlignment(DynamicAlignment alignment):设置对齐方式
  • getAlignment():获取对齐方式
Mapping
2.
DynamicElement类接口调整如下:

接口取消

  • setName(String name):设置动态对象的名称
  • getName():获取动态对象的名称,默认问题null
  • isNameVisible():获取动态对象名称是否可见,默认false
  • setNameSize(float size):设置名称字体大小, 默认16pixel
  • getNameSize():获取名称字体大小
  • getNameTextAlign():获取名称文本对齐方式, 默认中心对齐
  • setNamePosition(Point2D position):设置名称文本的位置 @param position 位置坐标点,采用地图坐标
  • getNamePosition():获取名称文本的位置坐标, 若用户没有设置,默认采用对象中心点 @return 返回位置坐标点Point2D,采用地图坐标
  • setNameOffsetX(float offsetX):设置名称文本的X偏移量 @param offsetX 位置偏移量
  • getNameOffsetX():获取名称文本的X偏移量
  • setNameOffsetY(float offsetY):设置名称文本的Y偏移量 @param offsetY 位置偏移量
  • getNameOffsetY():获取名称文本的Y偏移量
Mapping
3.
MapView类接口调整如下:

接口新增

  • setCalloutRotateEnable(boolean enable):设置callout是否随地图俯仰旋转 @param enable 是否随地图俯仰旋转,默认为否
  • isCalloutRotateEnable():获取callout是否随地图俯仰旋转 @return callout是否随地图俯仰旋转
Mapping
4.
ARControl类接口调整如下:

接口新增

  • setARPlaneState(boolean value):设置AR平面是否显示
Realspace
5.
Map类接口调整如下:

接口新增

  • getMaxVisibleVertex():获取最大可见节点数量
  • setMaxVisibleVertex(int value):设置最大可见节点数量
Mapping
6.
Generalization类接口调整如下:

接口新增

  • regularizeBuildingFootprint(DatasetVector sourceDataset,Datasource targetDatasource,String targetDatasetName, RegularizeParameter param,boolean isAttributeRetained):建筑物规则化
Analyst
7.
Geometrist类接口调整如下:

接口新增

  • regularizeBuildingFootprint(Geometry sourceGeometry,RegularizeParameter param,PrjCoordSys prjCoordSys):建筑物规则化
Data
8.
RegularizeMethod类接口调整如下:

枚举新增

  • RegularizeMethod.RIGHTANGLES:直角
  • RegularizeMethod.RIGHTANGLESANDDIAGONALS:直角和对角
  • RegularizeMethod.ANYANGLE:任意角
  • RegularizeMethod.CIRCLE:圆
Data
9.
RegularizeParameter类接口调整如下:

接口新增

  • RegularizeParameter():
  • getRegularizeMethod():
  • setRegularizeMethod(RegularizeMethod regularizeMethod):
  • getOffsetDistance():获得规则化边界允许偏移的最大距离
  • setOffsetDistance(double offsetDistance):设置规则化边界允许偏移的最大距离
  • getOffsetDistanceUnit():获得规则化边界允许偏移的最大距离
  • setOffsetDistanceUnit(Unit offsetDistanceUnit):设置规则化边界允许偏移的最大距离单位
  • getMinArea():获得结果集最小面积单位、 小于该面积的面将会被删除
  • setMinArea(double minArea):设置结果集最小面积单位、 小于该面积的面将会被删除
  • getMinHoleArea():获得洞的最小面积,小于该面积的洞将被删除
  • setMinHoleArea(double setMinHoleArea):设置洞的最小面积,小于该面积的洞将被删除
Data
10.
DynamicView类接口调整如下:

接口新增

  • isElementAvoid():是否开启避让效果
  • setElementAvoid(boolean mIsElementAvoid):开启避让
Mapping
11.
Point类接口调整如下:

接口新增

  • Point(Point point):
Data
12.
EngineType类接口调整如下:

枚举新增

  • EngineType.XYZTILE:自定义XYZ服务
Data
13.
OptimalPathAnalysis类接口调整如下:

接口新增

  • OptimalPathAnalysis():创建最佳路径分析实例
  • setPoints(Point2Ds points):设置路径分析的途径点
  • setUrl(String url):设置路径分析的服务地址
  • getPoints():返回途径点
  • getUrl():返回服务地址字符串
  • findPath(FindPathListener listener):执行最佳路径分析
  • FindPathListener:创建用于接收分析结果的回调函数
Services
14.
ARAnimationTranslation类接口调整如下:

接口新增

  • setTranslationUpdateListener(TranslationUpdateListener listener):设置位移更新监听
  • TranslationUpdateListener:位移更新
AR
15.
AREffectBaseView类接口调整如下:

接口新增

  • getFarClipPlane():获取远裁剪平面距离
  • getNearClipPlane():获取近裁剪平面距离
AR
16.
AREffectView类接口调整如下:

接口新增

  • getForegroundView():获取前景层
  • getArSceneView():获取ArSceneView
AR
17.
ResourceConfig类接口调整如下:

接口新增

  • getArPlaneTexture():获取平面纹理
AR
18.
ConvertTool类接口调整如下:

接口新增

  • calculateDeviceLocation(Location targetLocation,Point3D targetPosition,float startAzimuth):计算设备的地理位置
  • getAreaByVector3(List pointList):获取面积
  • getAreaByPoint3D(List pointList):获取面积
  • getAreaBy3Point2(Vector3 v0, Vector3 v1, Vector3 v2):获取面积
  • getArea(List pointList):获取面积
  • getAreaBy3Point(Vector3 v0, Vector3 v1, Vector3 v2):获取面积
  • toWGSCoordinatesFromGCJ(Location location): GCJ坐标转WGS坐标
  • getPointAfterRotation(Point3D a, Point3D b, float rotationAngle):获取在XOY平面,B点绕A点旋转后的点坐标
AR
19.
PresetUtils类接口调整如下:

接口新增

  • isInPolygon(Point src, List points):判断平面上任意点,是否在空间某一平面上的多边形内
  • isInPolygon(Point3D src, List points,float tolerance):判断空间中任意点,是否在空间某一平面上的多边形内
  • genStripeLinePoints(List points,float lineWidth,float radius, int edgeNum):根据折线点集生成平行与XOY面的可构成平滑宽线多边形的点集
  • genVerticalPoints(Point3D pointA, Point3D pointB, float width):在平行XOY的平面上,获取垂直AB,且过端点AB,且距离为width的点集(AB不重合,共4个点)
  • getIntersectionPoint(Vector3 v0,Vector3 v1,Vector3 a,Vector3 b,Vector3 c):获取线段与平面的交点坐标
  • genArcPoints(List points,float radius, int edgeNum):根据圆角的半径和圆弧段数,在拐点处将拐点替换为弧段上的连续点
  • getCenterPoint(List sourceList):从点集中获取中心点的位置
  • getQuaternionByVector(Vector v0,Vector v1):获取单位向量V0旋转为单位向量V1的旋转四元数
  • getQuaternionByVector3(Vector3 v0,Vector3 v1):获取单位向量V0旋转为单位向量V1的旋转四元数
  • getQuaternionByPoint3Ds(Point3D a,Point3D b,Point3D c):获取不共线三点构成的平面相对水平面的旋转四元数
  • correctHitPoint(Point3D cameraPosition, Point3D currentHitPoint, List list):纠正碰撞点位置
  • getPointByScreenRayTest(AREffectBaseView arEffectBaseView, List list,float x,float y):获取通过屏幕坐标生成的射线与list点集构成的平面的交点,返回值可为null
  • correctHitPoint(ARGeoVerticalRegion verticalRegion, Point3D targetPoint):使用垂直面纠正碰撞点
  • getPointByHitResult(List hitResults0, HitTestMode hitTestMode):根据ARCore的碰撞检测结果获取碰撞点坐标,可返回null
  • getAllPointByHitResult(List hitResults):获取所有碰撞点坐标
  • isInLineSegment(Point3D src,Point3D a,Point3D b):判断src点是否在AB线段上
AR
20.
Shape类接口调整如下:

接口新增

  • drawPolygon(Mode mode, List pointList):通过点集,绘制多边形
  • drawHorizontalPolygon(List pointList):通过点集,绘制水平多边形
  • drawPrism(List bottomPointList,List topPointList):绘制棱柱
  • drawTorus(float r1,float r2,int side):绘制水平的环状对象
  • drawHalfTorus(float r1,float r2,int side):绘制水平的半环状对象
  • drawRegularPolygon(float r,int side):绘制正多边形
  • clear():清除对象
AR
21.
StripeLine类接口调整如下:

接口新增

  • drawStripeLine(Point3D pointA, Point3D pointB, float width):绘制带状线
  • drawStripeLine(List pointList,float lineWidth):绘制带状线
  • getStripeLinePoints():获取线的顶点集
  • getStripeLineRadius():获取条带线圆角半径
  • setStripeLineRadius(float radius):设置条带线圆角半径(大于等于线宽)
  • drawStripeLine(Point3D pointA, Point3D pointB,float width):TODO 绘制条带
  • getWidth():获取宽度
  • setWidth(float width):设置宽度
  • getPointA():获取点A
  • setPointA(Point3D pointA):设置点A
  • getPointB():获取点B
  • setPointB(Point3D pointB):设置点B
AR
22.
ScreenPointTool类接口调整如下:

接口新增

  • convertToScreenPoint2D(AREffectView arView,Point3D point3D):转换为屏幕坐标
  • getScreenDensity(Context context):获取屏幕密度
  • getDpScale(Context context):获取dp值与真实尺度的比例
  • getScreenWidth_DP(Context context):获取屏幕宽度
  • getScreenHeight_DP(Context context):获取屏幕高度
  • screenPointToRay(AREffectBaseView arEffectView,int x,int y):屏幕坐标转射线
AR
23.
ARAnimationTranslation2类接口调整如下:

接口新增

  • TranslationUpdateListener:位移更新监听
  • setTranslationUpdateListener(TranslationUpdateListener listener):设置位移更新监听
  • ARAnimationTranslation2(AREffectElement arEffectElement):构造函数
  • creatAnimation(ARAnimationParameter parameter):创建模型
  • play():开始
  • pause():暂停
  • resume():继续
  • stop():停止
  • getSpeed():获取速度
  • setSpeed(float speed):设置速度
AR
24.
BaseShape类接口调整如下:

接口新增

  • BaseShape(MatType matType):构造方法
  • getSelectionColor():获取选中状态的渲染对象
  • setSelectionColor(Color color):设置选中状态的渲染对象的颜色
  • isSelected():判断是否选中
  • select():选中
  • unSelect():取消选中
  • getRadius():
  • setRadius(float radius):
  • getTextureMap():获取贴图的资源id
  • setTextureMap(int textureMap):设置贴图
  • isShadowReceiver(): 所渲染的shape是否接收阴影
  • setShadowReceiver(boolean shadowReceiver):设置接收阴影效果
  • isShadowCaster():所渲染的shape是否能够产生阴影
  • setShadowCaster(boolean shadowCaster):设置是否产生阴影效果
  • getMetallic():获取金属度
  • setMetallic(float metallic):设置金属度
  • getRoughness():获取粗糙度
  • setRoughness(float roughness):设置粗糙度
  • getReflectance():获取反射率
  • setReflectance(float reflectance):设置反射率
  • getColorRGBA():获取颜色的RGBA值
  • getColor():获取颜色
  • setColor(String colorString):设置颜色
  • setColor(Color color):设置颜色
  • setColor(float r, float g, float b, float a):通过RGBA值,设置颜色
  • updateMaterial():更新材质
  • clear():设清除shape
  • setShapeStyle(ShapeStyle shapeStyle):设置风格样式
  • getShapeStyle():获取风格样式

枚举新增

  • MatType.OPAQUE:透明材质
  • MatType.TRANSPARENT:不透明材质
  • Mode.TRIANGLE_FAN:绘制模式。第一个点和之后所有相邻的2个点构成一个三角形
  • Mode.TRIANGLE_STRIP:绘制模式。相邻3个点构成一个三角形,不包括首位两个点
  • Mode.TRIANGLES:绘制模式。每三个点构成一个三角形
AR
25.
Scene类接口调整如下:

接口新增

  • drillPickforDynamicObject(String objectName ,final Point point,final int count):拾取屏幕点下对应对象的id数组
Realspace
26.
TrackingLayer类接口调整如下:

接口新增

  • setAsyncRefresh(boolean bAsync):设置跟踪层是否实时渲染
  • isAsyncRefresh():返回跟踪层是否实时渲染
Mapping
27.
CameraView类接口调整如下:

接口新增

  • switchCamera():切换前后摄像头
AI
28.
MediaService类接口调整如下:

接口新增

  • setPushService(String ip, String port, String id, InitCallback callback):设置推流服务地址
  • startPushCameraView():开始推送摄像头画面
  • pausePushRenderView():停止推送摄像头画面
  • startPushCustom(Bitmap bitmap):开始推送自定义内容视频流
  • muteLocalAudioStream(boolean muted):是否消音
  • stopPushCustom():停止推流
  • setPlayerService(String url):设置拉流地址
  • startPlay(String Key, TextureView textureView):开始拉流
  • stopPlay():停止拉流
  • createLocalRenderView():创建本地视频
AI
29.
Toolkit类接口调整如下:

接口新增

  • GeometryToGeoJson(Geometry geometry):几何对象转GeoJson
Data
30.
ARGeoRegion2类接口调整如下:

接口新增

  • getPartArea(int partIndex):获取指定索引的子对象的面积
  • getPartCenterPoint(int partIndex):获取指定索引的子对象的几何中心
AR
31.
ARGeometry类接口调整如下:

枚举新增

  • ARGeometryType.POINT:点类型
  • ARGeometryType.LINE:线类型
  • ARGeometryType.REGION:面类型
  • ARGeometryType.REGION2:面类型
  • ARGeometryType.PRISM:棱柱类型
  • ARGeometryType.VERTICAL_REGION:垂直面类型
AR
32.
CameraWindowRenderer类接口调整如下:

接口新增

  • refresh(long ms):按照间隔时间刷新
  • refresh():刷新
AR
33.
FlowElement类接口调整如下:

接口新增

  • generateAnimation(AREffectElement e):生成动画
AR
34.
AREffectElement类接口调整如下:

接口新增

  • getElementType():获取元素类型
  • removeChild(AREffectElement element):移除子节点元素
AR
35.
ARMapElement类接口调整如下:

接口新增

  • setMapRefreshListener(MapRefreshListener listener):设置地图刷新监听
  • getArMapScale():获取AR地图与真实场景的比例
  • isRealMode():判断是否是真实模式(1比1地图)
  • setRealMode(boolean realMode):设置真实模式(是否开启1比1地图)
  • getRealScaleFactor():获取AR场景中真实的比例
  • setScaleFactor(float[] scales)::设置AR场景中真实的比例
AR
36.
CalibrationPoint类接口调整如下:

接口新增

  • getGeoLocation():获取地理坐标点
  • setGeoLocation(Location geoLocation):设置地理坐标点
  • getGeoPoint():获取地理坐标点
  • setGeoPoint(Point2D geoPoint):设置地理坐标点
  • getArPoint():获取AR坐标点
  • etArPoint(Point3D arPoint):设置地理坐标点
AR
37.
CalibrationResult类接口调整如下:

接口新增

  • calculate(AREffectView arView, boolean isChangeScale, CalibrationPoint pointA, CalibrationPoint pointB):通过两个校正的方式计算设备的地理位置
  • calculate(AREffectView arView, boolean isChangeScale,TransformationMode transformationMode,CalibrationPoint... calibrationPoints):通过配准的方式计算设备的地理位置
  • getOffset():获取校正前相对于校正后的偏移量
  • getDeviceLocation():获取AR场景启动时的地理坐标
  • getDeltaAzimuth():获取AR场景启动时的方位角
  • getScale():获取AR场景启动时的比例尺
  • getCalibrationPoints():获取校正点集
AR
38.
EffectView类接口调整如下:

接口新增

  • addOnUpdateListener(OnUpdateListener onUpdateListener):添加指定的更新监听
  • removeOnUpdateListener(OnUpdateListener onUpdateListener):移除指定的更新监听
  • getSceneView():获取ArSceneView
  • setOnSceneTouchListener(final OnSceneTouchListener listener):设置场景触摸监听
  • setVisibleDistance(float distance):设置可视距离
  • setFarClipPlane(float distance):设置远裁剪平面距离
  • getFarClipPlane():获取远裁剪平面距离
  • setNearClipPlane(float distance):设置近裁剪平面距离
  • getAzimuth():获取手机方位角
  • getDeviceLocation():获取设备的地理位置
  • setDeviceLocation(Location deviceLocation):设置设备的地理位置
  • setAzimuth(float azimuth):设置设备方位角
  • getElementDistance(AREffectElement element):获取当前特效元素的距离
  • getCameraPosition():获取当前相机位置
  • addElement(AREffectElement element):将元素添加至场景数据
  • getEffectElement(String name):根据名称获取特效元素
AR
39.
HmsAREffectView类接口调整如下:

接口新增

  • getArSceneView():获取ArSceneView
  • getArSession():获取ARSession
  • setArSession(ARSession session):设置ArSession
  • getArAction():获取AR操作类型
  • setArAction(ARAction arAction):设置AR操作类型
AR
40.
ImageEffectView类接口调整如下:

接口新增

  • updateImage():更新
  • updateImage(Bitmap bitmap):更新
  • updateScene():更新图片后需要更新场景
  • getImageView():获取ImageView
  • setSize(int width,int height):设置尺寸
AR
41.
TransformCalibrationResult类接口调整如下:

接口新增

  • toArPoint(Point2Ds points):通过校正结果将地理坐标转换为AR坐标集
  • toGeoPoint(List pointList):通过校正结果将AR坐标点集转为地理坐标
  • getToGeoTransformation():获取从AR坐标变换为地理坐标的数据配准类
  • getToArTransformation():获取从地理坐标变换为AR坐标的数据配准类
AR
42.
UAVImageEffectView类接口调整如下:

接口新增

  • updateCurrentCameraParameter(UAVRecordParameter uavRecordParameter):根据无人机当前参数更新相机AR坐标集
  • getUavRecordParameters():获取所有无人机参数记录
  • setUavRecordParameters(ArrayList uavRecordParameters):添加无人机实时参数记录
AR
43.
UAVRecordParameter类接口调整如下:

接口新增

  • calculateHorizontalFOV(float width,float height,float focalLength35mmEq):计算水平视场角
  • calculateVerticalFOV(float width,float height,float focalLength35mmEq):计算垂直视场角
AR
44.
UAVVideoEffectView类接口调整如下:

接口新增

  • updateCurrentCameraParameter(UAVRecordParameter uavRecordParameter):根据无人机当前参数更新相机
  • getUavRecordParameters():获取所有无人机参数记录
  • setUavRecordParameters(ArrayList uavRecordParameters) :添加无人机实时参数记录
AR
45.
ARDynamicGeometry类接口调整如下:

接口新增

  • setOnPointUpdateListener(OnPointUpdateListener onPointUpdateListener):设置点添加监听事件
  • clearAll():清空所有
  • getObj(int index, ARGeometry.ARGeometryType type):获取指定索引、指定类型的对象
  • getCurrentObj(ARGeometry.ARGeometryType type):获取当前指定类型的对象
  • getCurrentCount():获取当前对象的顶点集的数量
  • saveCurrentObj():保存当前对象
  • clearCurrentObj():清除当前绘制的对象
  • addPoint(Point3D p):添加点
  • delLastPoint():清除最后一次添加的节点
AR